The present invention relates to a system for judging whether or not a plurality of conditions are satisfied, and in particular, to a high-speed rule processing system for processing rules suitable for a forward inference in a knowledge base using knowledge technology.
As a method for judging whether or not a plurality of conditions are satisfied, there has been known a method in which a disrimination net is used. For example, Charles L Forgy has proposed, in Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem, ARTIFICIAL INTELLIGENCE Vol. 19, No. 1, 1982, 17-37, a system wherein conditions are converted into a network and objects called tokens each including a name of an object and at least a pair of an attribute or an attribute name and an attribute data are supplied to the network so as to compare the objects and patterns, thereby storing the states satisfying the conditions in storage locations associated with the respective nodes of the network. Since the network portions corresponding to the respective condition clauses are related to each other, to compare attribute data between different objects, these objects must be directly linked by use of a branch, and hence conditions become complicated. If the description of conditions includes a lot of "OR" operations selectively linking a plurality of conditions or a lot of compare operations comparing attribute variables between different network portions, there appear such problems that the size of the network exponentially increases, the processing speed is lowered, and the amount of information to be stored in the network is increased at the same time. In other words, these problems are caused by a method for representing a discrimination net in which a network must be directly linked by use of inter-nodes when attribute data is desired to be compared between objects by using variables. Such a system for processing complex conditions at a high speed has long been desired.